package com.yueqian.system.vo.req;

import java.util.List;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

import com.yueqian.framework.annotation.validation.Enum;
import com.yueqian.framework.entity.PageEntity;

import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = true)
@Data
public class UserReqVO extends PageEntity {
	/**
	 * 用户名称
	 */
	@NotBlank(message = "用户名称不能为空")
	private String username;

	/**
	 * 用户昵称
	 */
	@NotBlank(message = "用户昵称不能为空")
	private String nickName;

	/**
	 * 邮箱
	 */
	@Email(message = "邮箱不能为空")
	private String email;

	/**
	 * 密码
	 */

	@Pattern(regexp = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,}$", message = "密码至少一个大写字母、至少一个小写字母、至少一个数字、特殊字符")
	private String password;

	/**
	 * 手机号码
	 */
	@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号码格式不正确")
	private String mobile;

	/**
	 * 用户状态
	 */
	@Enum(message = "用户状态只能是正常或者停用", value = {1, 2})
	private Integer status;

	/**
	 * 用户性别 1：男生，2：女生
	 */
	@Enum(message = "用户状态只能是男生或者女生", value = {1, 2})
	private Integer gender;

	/**
	 * 开始时间-结束时间
	 */
	private List<String> time;

	/**
	 * 角色集合
	 */
	private List<Long> roleIds;

	/**
	 * 归属部门
	 */
	private Long deptId;


	//验证码aes加密坐标信息
	private String captchaVerification;

	/**
	 * 验证码Key
	 */
	private String verifyCodeKey;
	/**
	 * 验证码
	 */
	private String verifyCode;
}
